package edu.tyut.game.ui.game

import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.switchMap
import edu.tyut.game.logic.FlyingFlowerOrderRepository
import edu.tyut.game.logic.model.Msg
import java.util.Collections

class FlowerViewModel : ViewModel() {

    val msgList: MutableList<Msg> = Collections.synchronizedList(mutableListOf<Msg>())
    // 选手答题包含的诗词
    val contentList: MutableList<String> = Collections.synchronizedList(mutableListOf<String>())
    var contentSet : List<String> = mutableListOf()

    // 根据关键词获取诗词, 诗句
    private val poemVerseListMutableList = MutableLiveData<String>()
    val poemVerseRes = poemVerseListMutableList.switchMap {
        FlyingFlowerOrderRepository.getContentsByWord(it)
    }
    fun getContentsByWord(word: String){
        poemVerseListMutableList.value = word
    }

    // 游戏结束请求
    private val uidLiveData = MutableLiveData<Int>()
    val uidRes = uidLiveData.switchMap {
        FlyingFlowerOrderRepository.gameOver(it)
    }
    fun gameOver(uid: Int){
        uidLiveData.value = uid
    }
    // isExistPoem，关键词所存在的诗句
    private val contentLiveData = MutableLiveData<String>()
    val isExistRes = contentLiveData.switchMap {
        FlyingFlowerOrderRepository.isExistPoem(it)
    }
    fun isExistPoem(content: String){
        contentLiveData.value = content
    }

    // 赢游戏埋点
    private val winLiveData = MutableLiveData<Int>()
    val winRes = winLiveData.switchMap {
        FlyingFlowerOrderRepository.win(it)
    }
    fun win(uid: Int){
        winLiveData.value = uid
    }
    // 输游戏埋点
    private val loseLiveData = MutableLiveData<Int>()
    val loseRes = loseLiveData.switchMap {
        FlyingFlowerOrderRepository.lose(it)
    }
    fun lose(uid: Int){
        loseLiveData.value = uid
    }
}
/*
飞花令-常用：
春 江 花 月 夜 风 人 山 云 酒 鸟

飞花令-四季：
春 夏 秋 冬

飞花令-大好河山：
江 河 湖 海 山 岳 楼 亭

飞花令-梅兰竹菊：
梅 兰 竹 菊

飞花令-颜色（红橙黄绿青蓝紫黑白）：
红 橙 黄 绿 青 蓝 紫 黑 白

飞花令-飞禽走兽：
鸟 牛 燕 禽 走 兽

飞花令-感情：
泪 恨 梦 笑 醉

飞花令-方位（东南西北中):
东 南 西 北 中

飞花令-标题（中国诗词大会）:
中 国 诗 词 大 会

飞花令-数字:
一 二 三 四 五 六 七 八 九 十

飞花令-十二生肖:
鼠 牛 虎 兔 龙 蛇 马 羊 猴 鸡 狗 猪

飞花令-叠字:
悠悠 年年 萧萧 纷纷 茫茫 日日 处处 匆匆 青青 翩翩 依依 沉沉 苍苍

飞花令-双字:
明月 十年 人间 白云 万里 春风 扬州 春雨 青山 千里 归来

其他飞花令集锦如下:
将 思 家 画 暖 声 愁 残 地 溪 无 圆 园 雪 雨 日 庭 岳 寒 情 城 乐 晴 心 金 芳 草 天 水 玉 桥 千 飞 岸 万 香 朝 林 远 难 星 孤 关 新 松 窗 旧 乡 柳 年 归 平 书 辞 荷 池 桃 杏 李 枣 栗 石 泉 清 上 明 照 流 间 寺 烟 庙 生 暮 舍 成 晨 兴 色
 */